library(tidyverse)
library(openintro)
library(readxl)
library(plotly)
library("rnaturalearth")
library("rnaturalearthdata")
my_map_theme <- function(){
theme(panel.background=element_blank(),
axis.text=element_blank(),
axis.ticks=element_blank(),
axis.title=element_blank())
}WHOLifeExpectancy <- read_excel("C:/RLibrary/Quiz 3 Andrew McLain/Andrew McLain Quiz 3/WHOLifeExpectancy.xlsx",
col_types = c("text", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric"), skip = 2)
names(WHOLifeExpectancy) <- c("country",
"HALEbirth_Both sexes_2016",
"HALEbirth_Both sexes_2015",
"HALEbirth_Both sexes_2010",
"HALEbirth_Both sexes_2005",
"HALEbirth_Both sexes_2000",
"HALEbirth_Male_2016",
"HALEbirth_Male_2015",
"HALEbirth_Male_2010",
"HALEbirth_Male_2005",
"HALEbirth_Male_2000",
"HALEbirth_Female_2016",
"HALEbirth_Female_2015",
"HALEbirth_Female_2010",
"HALEbirth_Female_2005",
"HALEbirth_Female_2000",
"HALE60_Both sexes_2016",
"HALE60_Both sexes_2015",
"HALE60_Both sexes_2010",
"HALE60_Both sexes_2005",
"HALE60_Both sexes_2000",
"HALE60_Male_2016",
"HALE60_Male_2015",
"HALE60_Male_2010",
"HALE60_Male_2005",
"HALE60_Male_2000",
"HALE60_Female_2016",
"HALE60_Female_2015",
"HALE60_Female_2010",
"HALE60_Female_2005",
"HALE60_Female_2000")WHOLifeExpectancy <- WHOLifeExpectancy %>%
pivot_longer(c(
"HALEbirth_Both sexes_2016",
"HALEbirth_Both sexes_2015",
"HALEbirth_Both sexes_2010",
"HALEbirth_Both sexes_2005",
"HALEbirth_Both sexes_2000",
"HALEbirth_Male_2016",
"HALEbirth_Male_2015",
"HALEbirth_Male_2010",
"HALEbirth_Male_2005",
"HALEbirth_Male_2000",
"HALEbirth_Female_2016",
"HALEbirth_Female_2015",
"HALEbirth_Female_2010",
"HALEbirth_Female_2005",
"HALEbirth_Female_2000",
"HALE60_Both sexes_2016",
"HALE60_Both sexes_2015",
"HALE60_Both sexes_2010",
"HALE60_Both sexes_2005",
"HALE60_Both sexes_2000",
"HALE60_Male_2016",
"HALE60_Male_2015",
"HALE60_Male_2010",
"HALE60_Male_2005",
"HALE60_Male_2000",
"HALE60_Female_2016",
"HALE60_Female_2015",
"HALE60_Female_2010",
"HALE60_Female_2005",
"HALE60_Female_2000"),
names_to =
"names",
values_to =
"values") %>%
separate(names,
c("category",
"sex",
"year"),
sep="_") %>%
pivot_wider(
names_from=category,
values_from=values
) %>%
arrange(desc(year),
country)
head(WHOLifeExpectancy, 10)## # A tibble: 10 x 5
## country sex year HALEbirth HALE60
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Afghanistan Both sexes 2016 53 11.3
## 2 Afghanistan Male 2016 52.1 10.9
## 3 Afghanistan Female 2016 54.1 11.7
## 4 Albania Both sexes 2016 68.1 16.3
## 5 Albania Male 2016 66.7 15.3
## 6 Albania Female 2016 69.6 17.4
## 7 Algeria Both sexes 2016 65.5 15.8
## 8 Algeria Male 2016 65.4 15.7
## 9 Algeria Female 2016 65.6 15.8
## 10 Angola Both sexes 2016 55.8 13.6
world <- ne_countries(scale = "medium", returnclass = "sf")
WHOLifeExpectancy2 <- WHOLifeExpectancy %>%
filter(sex == "Both sexes",
year == "2016")
WHO_metadata <- read_csv("C:/RLibrary/Quiz 3 Andrew McLain/Andrew McLain Quiz 3/WHO_metadata.csv",
col_names=c("x",
"ISO",
"country")) %>%
select("ISO", "country")
WHOLifeExpectancy2_metadata <- WHOLifeExpectancy2 %>%
left_join(
WHO_metadata,
c("country"=
"country"
)
)
world_WHOLifeExpectancy2_metadata <- world %>%
left_join(
WHOLifeExpectancy2_metadata,
c("iso_a3"=
"ISO")
)plot_world_WHOLifeExpectancy2_metadata <-
ggplot(world_WHOLifeExpectancy2_metadata) +
geom_sf(aes(fill=HALEbirth)) +
my_map_theme() +
labs(title = "Healthy Life Expectancy
at Birth in 2016") +
scale_fill_continuous("Healthy Life\nExpectancy\nat Birth (years)",
low="red",
high="purple")
plot_world_WHOLifeExpectancy2_metadataworld_WHOLifeExpectancy2_metadata <-
world_WHOLifeExpectancy2_metadata %>%
mutate(text = paste("<b>",country,"</b>\nHealthy Life Expectancy:",HALEbirth))
plot2_world_WHOLifeExpectancy2_metadata <-
ggplot(world_WHOLifeExpectancy2_metadata) +
geom_sf(aes(fill=HALEbirth
+runif(nrow(
world_WHOLifeExpectancy2_metadata)),
text=text
)) +
my_map_theme() +
scale_fill_continuous("Healthy Life\nExpectancy\nat Birth (years)",
low="red",
high="purple")
ggplotly(plot2_world_WHOLifeExpectancy2_metadata,
tooltip = "text") %>%
style(hoveron = "fills")